package 滑动窗口;

import java.util.HashMap;

public class test5 {
    public int totalFruit(int[] fruits) {
        int n = fruits.length;
        HashMap<Integer,Integer> map = new HashMap<>();
        int result = Integer.MIN_VALUE;
        for(int left=0,right=0;right<n;right++){
            if(!map.containsKey(fruits[right]))
                map.put(fruits[right],1);
            else
                map.put(fruits[right], map.get(fruits[right])+1);
            while (map.size()>2){
                map.put(fruits[left], map.get(fruits[left])-1);
                if(map.get(fruits[left])==0)
                    map.remove(fruits[left]);
                left++;
            }
            result = Math.max(result,right-left+1);
        }
        return result;
    }
}
